package com.codingxyz.simple.datastruct;

import java.util.ArrayList;

/** 
 * 用数组实现的队列 
 */  
public class ArrayQueue<E> {  
    private ArrayList<E> list = new ArrayList<E>();// 用来保存数据的队列  
    private int size = 0;// 表示当前栈元素个数
  
    /** 
     * 入队 
     * @param e 
     */  
    public void EnQueue(E e) {  
        list.add(e);  
        size++;  
    }  
  
    /** 
     * 出队 
     * @return 
     */  
    public E DeQueue() {  
        if (size > 0) {  
            E e = list.get(0);  
            list.remove(0);
            return e;  
        }else{  
            throw new RuntimeException("已经到达队列顶部");  
        }  
    }

    public static void main(String[] args) {
        ArrayQueue<String> arr = new ArrayQueue<>();
        arr.EnQueue("1");
        arr.EnQueue("2");
        arr.EnQueue("3");
        arr.EnQueue("4");

        System.out.println(arr.DeQueue());
    }
}